引入
网络可以干什么?
网络通讯(微信、QQ)
浏览网站(B站)
网络游戏(LOL、王者)
等等
一、什么是Internet ?
通俗点,就是一堆网络通过网络互联设备(路由器)连在一起。
从具体构成角度看:
- 节点
- 主机及其上运行的应用程序
- 路由器、交换机等网络交换设备
- 边:通信链路
- 接入网链路:主机连接到互联网的链路
- 主干链路:路由器间的链路
- 协议:控制发送、接收信息
- 如TCP、IP、HTTP、FTP、PPP
从服务角度看:
- 使用通信设施进行通信的分布式应用
- Web、VoIP、email、分布式游戏、电子商务、社交网络
- 通信基础设施为apps提供编程接口(通信服务)
- 将发送和接收数据的apps与互联网连接起来
- 为app应用提供服务选择,类似于邮政服务:
- 无连接不可靠服务
- 面向连接的可靠服务
二、什么是协议?
支撑互联网工作的标准。
协议:对等层实体在通信过程中应该遵守的规则和集合。

网络协议:
- 类似人类协议
- 机器之间的协议而非人与人之间的协议
- Internet 中所有的通信行为都受协议制约
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面所采取的动作
三、网络结构的三个部分
网络边缘
- 主机
- 应用程序(客户端和服务器)
结构
- 端系统(主机):
- 运行应用程序
- 如Web、email
- 在“网络的边缘”
- 客户/服务器模式(C/S)
- 客户端向服务器请求、接收服务
- 如Web浏览器/服务器;email客户端/服务器
- 对等(peer-peer)模式
- 很少(甚至没有)专门的服务器
- 如 Gnutella、KaZaA、Emule
采用网络设施的面向连接服务
目标:在端系统之间传输数据
- 握手:在数据传输之前做好准备
- 人类协议中:你好、你好
- 两个通信主机之间为连接建立状态
- TCP-传输控制协议(Transmission Control Protocol )
- Internet上面向连接的服务
TCP 服务
- 可靠地、按顺序地传送数据
- 确认和重传
- 流量控制
- 发送方不会淹没接收方
- 拥塞控制
- 当网络拥塞时,发送方降低发送速率
采用基础设施的无连接服务
目标:在端系统之间传输数据
- 无连接服务
- UDP-用户数据报协议(User Datagram Protocol)RFC 768:
- 无连接
- 不可靠数据传输
- 无流量控制
- 无拥塞控制
使用TCP的应用:
- HTTP(Web),FTP(文件传送),Telnet(远程登录),SMTP (email)
使用UDP的应用:
- 流媒体、远程会议、DNS、Internet电话
网络核心
- 网络核心:路由器的网状网络
- 基本问题:数据怎样通过网络进行输?
- 电路交换:为每个呼叫预留一条专有电路:如电话网
- 分组交换:
- 将要传送的数据分成一个个单位:分组
- 将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端
- 每段:采用链路的最大传输能力(带宽)
网络分类
1 | graph TB |
电路交换
端到端的资源被分配给从源端到目标端的呼叫 “call”:
图中,每段链路有4条线路:
- 该呼叫采用了上面链路的第2个线路,右边链路的第1个线路(piece)
独享资源:不同享
- 每个呼叫一旦建立起来就能够保证性能
如果呼叫没有数据发送,被分配的资源就会被浪费 (no sharing)
通常被传统电话网络采用
为呼叫预留端-端资源
- 链路带宽、交换能力
- 专用资源:不共享
- 保证性能
- 要求建立呼叫连接
网络资源(如带宽)被分成片
- 为呼叫分配片
- 如果某个呼叫没有数据,则其资源片处于空闲状态(不共享)
- 将带宽分成片
- 频分(Frequencydivision multiplexing)
- 时分(Time-division multiplexing)
- 波分(Wave-divis)
- 码分(CDM)
计算举例
- 在一个电路交换网络上,从主机A到主机B发送一个640,000比特的文件需要多长时间?
- 所有的链路速率为1.536 Mbps
- 每条链路使用时隙数为24的TDM
- 建立端-端的电路需500 ms
1 | 每条链路的速率(一个时间片):1.536Mbps/24 = 64kbps |
分组交换
以分组为单位存储-转发方式
- 网络带宽资源不再分分为一个个片,传输时使用全部带宽
- 主机之间传输的数据被分为一个个分组
资源共享,按需使用:
- 存储-转发:分组每次移动一跳( hop )
- 在转发之前,节点必须收到整个分组
- 延迟比线路交换要大
- 排队时间
存储-转发
- 被传输到下一个链路之前,整个分组必须到达路由器:存储-转发
- 在一个速率为R bps的链路,一个长度为L bits 的分组的存储转发延时: L/R s
排队和延迟:
- 如果到达速率 > 链路的输出速率:
- 分组将会排队,等待传输
- 如果路由器的缓存用完了,分组将会被抛弃
关键功能
- 路由: 决定分组采用的源到 目标的路径
- 路由算法
- 转发: 将分组从路由器的输 入链路转移到输出链路
统计多路复用
分组交换 vs. 电路交换
同样的网络资源,分组交换允许更多用户使用网络!
1 Mb/s 链路,每个用户活动时100 kb/s,只有10% 的时间是活动的。
- 电路交换: 最多10 用户。$ \dfrac{1Mb/s}{100kb/s} $
$$
每个用户分配100kb/s,最多有\dfrac{1Mb/s}{100kb/s} = 10 个用户
$$
- 分组交换:
$$
35 用户时 ,>=10个用户活动的概率为 1 - \sum_{n=0}^{9} C^{35}_n P^n(1-P)^{35-n} = 0.0004
$$
分组交换是“突发数据的胜利者?”
适合于对突发式数据传输
资源共享
简单,不必建立呼叫
过度使用会造成网络拥塞:分组延时和丢失
- 对可靠地数据传输需要协议来约束:拥塞控制
Q: 怎样提供类似电路交换的服务?
- 保证音频/视频应用需要的带宽
- 一个仍未解决的问题(chapter 7)
分组交换网络:存储-转发
分组交换: 分组的存储转发一段一段从源端传到目标端 ,按照有无网络层的连接,分成:
数据报网络: (datagram)
- 分组的目标地址决定下一跳
- 在不同的阶段,路由可以改变
- 类似:送快递、寄信(有目标地址,路由就是快递站、邮局)
- 工作原理
- 在通信之前,无须建立起一个连接,有数据就传输
- 每一个分组都独立路由(路径不一样,可能会失序)
- 路由器根据分组的目标地址进行路由
虚电路网络: (virtual circuit)
- 每个分组都带标签(虚电路标识 VC ID),标签决定下一跳
- 在呼叫建立时决定路径,在整个呼叫中路径保持不变
- 路由器维持每个呼叫的状态信息
- 类似:打电话(建立连接后,通信)
- X.25 和ATM
虚电路是有连接的,连接不仅体现在源主机和目标主机上,还体现在中间经过的所有节点上。
TCP是面向连接,连接仅体现在源主机和目标主机上,中间的路由器不维护通信状态。
接入网、物理媒体
- 有线或无线通信链路
接入网
住宅接入:modem
- 将上网数据调制加载音频信号上,在电话线上传输,在局端将其中的数据解调出来;反之亦然
- 调频
- 调幅
- 调相位
- 综合调制
- 拨号调制解调器
- 56Kbps 的速率直接接入路由器(通常更低)
- 不能同时上网和打电话:不能总是在线
接入网: digital subscriber line (DSL)
- 采用现存的到交换局DSLAM的电话线
- DSL线路上的数据被传到互联网
- DSL线路上的语音被传到电话网
- < 2.5 Mbps上行传输速率(typically < 1 Mbps)
- < 24 Mbps下行传输速率(typically < 10 Mbps)
- 特点
- 打电话时,可以上网
- 上行和下行带宽独享
线缆网络
有线电视信号线缆双向改造
FDM: 在不同频段传输不同信道的数据, 数字电视和上网数据(上下行)
HFC: hybrid fiber coax
- 非对称: 最高30Mbps的下行传输速率, 2 Mbps 上行传输 速率
线缆和光纤网络将个家庭用户接入到 ISP 路由器
各用户共享到线缆头端的接入网络
- 与DSL不同, DSL每个用户一个专用线路到CO(central office)、
特点
- 上行带宽共享
电缆模式
家庭网络
企业接入网络(Ethernet)
- 经常被企业或者大学等机构采用
- 10 Mbps, 100Mbps, 1Gbps, 10Gbps传输率
- 现在,端系统经常直接接到以太网络交换机上
无线接入网络
- 各无线端系统共享无线接入网络(端系统到无线路由器)
- 通过基站或者叫接入点
物理媒体
- Bit: 在发送-接收对间传播
- 物理链路:连接每个发送-接 收对之间的物理媒体
- 导引型媒体:
- 信号沿着固体媒介被导引:同轴电缆、光纤、 双绞线
- 非导引型媒体:
- 开放的空间传输电磁波或者光信号,在电磁或者光信号中承 载数字数据
双绞线 (TP)
- 两根绝缘铜导线拧合
- 5类:100Mbps 以太网 ,Gbps 千兆位以太网
- 6类:10Gbps万兆以太网
同轴电缆:
- 两根同轴的铜导线
- 双向
- 基带电缆:
- 电缆上一个单个信道
- Ethernet
- 宽带电缆:
- 电缆上有多个信道
- HFC
光纤和光缆:
- 光脉冲,每个脉冲表示一个 bit,在玻璃纤维中传输
- 高速:
- 点到点的高速传输(如10 Gps-100Gbps传输速率 )
- 低误码率:在两个中继器之 间可以有很长的距离,不受 电磁噪声的干扰
- 安全
无线链路
开放空间传输电磁波,携带要传输的数据
- 无需物理“线缆”
- 双向
- 传播环境效应:
- 反射
- 吸收
- 干扰
无线链路类型:
- 地面微波 e.g. up to 45 Mbps channels
- LAN (e.g., WiFi)
- 11Mbps, 54 Mbps,540Mbps…
- wide-area (e.g., 蜂窝)
- 3G cellular: ~ 几Mbps
- 4G 10Mbps
- 5G 数Gbps
- 卫星
- 每个信道Kbps 到45Mbps (或者 多个聚集信道)
- 270 msec端到端延迟
- 同步静止卫星和低轨卫星
四、Internet/ISP结构
互联网络结构:网络的网络
- 端系统通过接入ISPs (Internet Service Providers)连接到互联网
- 住宅,公司和大学的ISPs
- 接入ISPs相应的必须是互联的
- 因此任何2个端系统可相互发送分组到对方
- 导致的“网络的网络”非常复杂
- 发展和演化是通过经济的和国家的政策来驱动的

在网络的最中心,一些为数不多的充分连接的大范围网络(分布广、节点有限、 但是之间有着多重连接)
- “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), 国家或者国际范围的覆盖
- content provider network (e.g., Google): 将它们的数据中心接入ISP,方便周边用户的访问;通常私有网络之间用专网绕过第一层ISP和区域ISPs
三层 ISP
中心:第一层ISP(如UUNet, BBN/Genuity, Sprint, AT&T)国家/国际覆盖,带宽很宽,速率极高
直接与其他第一层ISP相连,通过
peer
或IXP
连接与大量的第二层ISP和其他客户网络相连
松散的层次模型

第二层ISP: 更小些的 (通常是区域性的) ISP
接入一个或多个第一层ISPs,也可能接入其他第二层ISP

第三层ISP与其他本地ISP
接入网 (与端系统最近)

端系统:一个分组要经过许多网络!

很多内容提供商(如:Google, Akamai )可能会部署自己的网络,连接自己的在各地的DC(数据中心),走自己的数据
连接若干local ISP和各级(包括一层)ISP,更加靠近用户
ISP之间的连接
- POP: 高层ISP面向客户网络的接入点,涉及费用结算
- 如一个低层ISP接入多个高层ISP,多宿(multi home)
- 对等接入:2个ISP对等互接,不涉及费用结算
- IXP:多个对等ISP互联互通之处,通常不涉及费用结算
- 对等接入
- ICP自己部署专用网络,同时和各级ISP连接
五、性能
延时
在路由器缓冲区的分组队列
- 分组到达链路的速率超过了链路输出的能力
- 分组等待排到队头、被传输

四种分组延时
节点处理延时:
检查 bit级差错
检查分组首部和决定将分组导向何处
排队延时
- 输出链路上等待传输的 时间
- 依赖于路由器的拥塞程
传输延时:
- R=链路带宽(bps)
- L=分组长度(bits)
- 将分组发送到链路上的 时间= L/R
- 存储转发延时
传播延时:
- d = 物理链路的长度
- s = 在媒体上的传播速度 (~2x108 m/sec)
- 传播延时 = d/s
R=链路带宽 (bps) ,L=分组长度 (bits) ,a=分组到达队列的平均速率
**流量强度 = **$\frac{L \times a}R$
- La/R ~ 0: 平均排队延时很小
- La/R -> 1: 延时变得很大
- La/R > 1: 比特到达队列的速率超过了从该队 列输出的速率,平均排队延时将趋向无穷大!
==设计系统时流量强度不能大于1!==
分组丢失
链路的队列缓冲区容量有限
当分组到达一个满的队列时,该分组将会丢失
丢失的分组可能会被被前一个节点或源端系统重传,或根本不重传
吞吐量
吞吐量: 在源端和目标端之间传输的速率(数 据量/单位时间)
- 瞬间吞吐量: 在一个时间点的速率
- 平均吞吐量: 在一个长时间内平均值

瓶颈链路:端到端路径上,限制端到端吞吐的链路
其他节点都不传输,一端为$R_s$,另一端为$R_c$,平均吞吐量为min{$R_s$, $R_c$},瓶颈在小的一端。
端到端平均吞吐 = min{ $R_1$,$R_2$ , …, $R_n$ }
互联网场景

- 链路上的每一段实际可用带宽$R_i$’ = ? 端到端吞吐量: min{ $R_i’$ } ?
- 每个连接上的端到端吞吐: min($R_c$ , $R_s$ , $R \div 10$)
- 实际上: $R_c$ 或者 $R_s$ 经常是瓶颈
六、协议层次、服务模型
协议层次
网络是一个复杂的系统!
- 网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进 程区分、应用等
- 现实来看,网络的许多构成元素和 设备:
- 主机
- 路由器
- 各种媒体的链路
- 应用
- 协议
- 硬件, 软件
层次化方式实现复杂网络功能:
- 将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一 组功能,功能中有其上层可以使用的功能:服务
- 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能, 通过接口为上层提供更好的服务
- 在实现本层协议的时候,直接利用了下层所提供的服务
- 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功 能(上层可以利用的)+更下层所提供的服务
服务和服务访问点
- 服务( Service):低层实体向上层实体提供它们之间的通信的能力
- 服务用户(service user)
- 服务提供者(service provider )
- 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的—形式
- 服务访问点 SAP (Services Access Point) :上层 使用下层提供的服务通过层间的接口—地点;
- 例子:邮箱
- 地址(address):下层的一个实体支撑着上层的多个实体, SAP有标志不同上层实体的作用
- 可以有不同的实现,队列
- 例子:传输层的SAP: 端口(port)
服务的类型
- 面向连接的服务
- 面向无连接的服务
服务和协议
- 服务与协议的区别
- 服务(Service):低层实体向上层实体提供它们之间的通信的能力,是通过原语(primitive)来操作的,垂直
- 协议(protocol) :对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平
- 服务与协议的联系
- 本层协议的实现要靠下层提供的服务来实现
- 本层实体通过协议为上层提供更高级的服务
数据单元(DU)

分层
分层结构 |
---|
应用层 |
传输层 |
网络层 |
链路层 |
物理层 |
- 应用层: 网络应用
- 为人类用户或者其他应用进程提供网络应用服务
- FTP, SMTP, HTTP,DNS
- 传输层: 进程之间的数据传输
- 在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信
- TCP, UDP
- 网络层: 为数据报从源到目的选择路由
- 主机主机之间的通信,端到端通信,不可靠
- IP, 路由协议
- 链路层: 相邻网络节点间的数据传输
- 2个相邻2点的通信,点到点通信,可靠或不可靠
- 点对对协议PPP, 802.11(wifi), Ethernet
- 物理层: 在线路上传送bit
每一层实现一个特定的功能,上一层借助于下一层提供的服务,通过跟对等层的协议实体,相互交换协议的报文,向上层提供更好的服务。
- 物理层把物理介质的01信号变成电磁波,发送和接收电磁波信号。
- 链路层,相邻两点传输以帧为单位的数据,实现了了点到点的功能。
- 网络层在链路层提供的点到点服务的基础上,实现了源主机到目标主机之间的数据传输,实现了端到端的功能。
- 传输层加强和细分了网络层的服务,把主机之间的传输变成了进程之间的传输,解决了网络层传输不可靠的问题。
- 应用层借助于传输层提供的服务,交换应用报文,实现各种各样的网络应用。
ISO/OSI 参考模型 |
---|
应用层 |
表示层 |
会话层 |
传输层 |
网络层 |
链路层 |
物理层 |
- 表示层: 允许应用解释传输的数据, e.g., 加密,压缩,机 器相关的表示转换
- 会话层: 数据交换的同步,检查点,恢复
- 互联网协议栈没有这两层!
- 这些服务,如果需要的话,必须被应用程序实现

各层次的协议数据单元
- 应用层:报文(message)
- 传输层:报文段(segment):TCP段,UDP数据报
- 网络层:分组packet(如果无连接方式:数据报 datagram)
- 数据链路层:帧(frame)
- 物理层:位(bit)
七、历史

小结
组成角度看什么是互联网
边缘:端系统(包括应用)+ 接入网
核心:网络交换设备+通信链路
协议:对等层实体通信过程中遵守的规则的集合
- 语法,语义,时序
为了实现复杂的网络功能,采用分层方式设计、实现和调试
- 应用层,传输层,网络层,数据链路层,物理层
- 协议数据单位:
- 报文,报文段,分组,帧,位
从 服务角度看互联网
- 通信服务基础设施
- 提供的通信服务:面向连接 无连接
- 应用
- 通信服务基础设施
应用之间的交互
- C/S模式
- P2P模式
数据交换
- 分组数据交换
- 线路交换
- 比较 线路交换和分组交换
分组交换的2种方式
- 虚电路
- 数据报
接入网和物理媒介
- 接入网技术:
- 住宅:ADSL,拨号,cable modem
- 单位:以太网
- 无线接入方式
- 物理媒介
- 光纤,同轴电缆,以太网,双绞线
- 接入网技术:
ISP层次结构
分组交换网络中延迟和丢失是如何发生的
- 延迟的组成:处理、传输、传播、排队
网络的分层体系结构
- 分层体系结构
- 服务
- 协议数据单元
- 封装与解封装
历史
对应视频